package org.ejb.api;

import java.util.List;

import org.ejb.entities.Abonnement;
import org.ejb.entities.Address;
import org.ejb.entities.Annonce;
import org.ejb.entities.OrderParFois;
import org.ejb.entities.Utilisateur;
import javax.ejb.Remote;


@Remote
public interface UtilisateurInterface {	
		//Utilisateur authenticate(final String login, final String password);
				
		Utilisateur createCustomer(Utilisateur customer, Address homeAddress);
						
		void deleteCustomer(final Utilisateur customer);
		
		Utilisateur findCustomer(final Long customerId);
		
		void ajouteAnnonce(Utilisateur customer, Annonce annonce);
		
		// Modifier l'adresse d'un produit
		Utilisateur updateCustomer(final Utilisateur customer, final Address address);
		
		List<Utilisateur> findCustomersList();
				
		/* method pour l'administrateur */
		//void remove(int id);

		
//		/** method persiter un info sur location*/
//		void ajouteLocation(Utilisateur customer, Location location);
		
		/** **************************************/
		/** noter un order d'un utlisateur		 */	
		// regarde dans le utilisateurStateless, pourquoi j'ai mis en commentaires ces deux méthodes
		//void commandeOrder(Utilisateur customer, OrderParFois orderParFois);
		
		//void ajouteOrderParFoisAddress(OrderParFois orderParFois, Address deliveryAddress);
		
		void ajouteOrderParFois(Utilisateur customer, OrderParFois orderParFois, Address deliveryAddress);
}
